home *** CD-ROM | disk | FTP | other *** search
- // Class: CLASS_NAME
-
- //////////////////////////.cpp file/////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "TRUNCATE_EIGHT$CLASS_NAME$.h"
-
- SELECT_WHEN ATTRIBUTE_IS_STATIC
- [ATTRIBUTE_TYPE CLASS_NAME$::$ATTRIBUTE_NAME = ATTRIBUTE_INITIAL_VALUE$; ]
-
- // Functions for class CLASS_NAME
- [
- // Function: OPERATION_NAME
- // Purpose: OPERATION_COMMENT1
- // Parameters: CPP_OPERATION_PARAMETERS
- // Comments: OPERATION_COMMENT2
- OPERATION_RETURN_TYPE CLASS_NAME::OPERATION_NAME(CPP_OPERATION_PARAMETERS) CPP_OPERATION_CONSTANT
- {
- OPERATION_CODE
- }
- ]
-
- //Operator= Assignment Operator
- //Commented Out code assigns pointers for 1:1 and 1:M associated object data members
- CLASS_NAME& CLASS_NAME::operator= (const CLASS_NAME$& a$CLASS_NAME)
- { if (this == &a$CLASS_NAME) return *this;
- int i = 0;
- [ BASE_CLASS$::operator= (a$CLASS_NAME);]
- SELECT_WHEN ATTRIBUTE_IS_NORMAL
- [ ATTRIBUTE_NAME = a$CLASS_NAME$.$ATTRIBUTE_NAME;]
- [ AGGREGATION_ONE_NAME = a$CLASS_NAME$.$AGGREGATION_ONE_NAME;]
- [ //ASSOCIATION_ONE_NAME = a$CLASS_NAME$.$ASSOCIATION_ONE_NAME;]
- [
- POSITION pos = AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS;
- POSITION pos2 = a$CLASS_NAME.AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS$2;
- while(pos)
- {
- next$AGGREGATION_MANY_CLASS = (AGGREGATION_MANY_CLASS *)AGGREGATION_MANY_NAME.GetNext(pos);
- next$AGGREGATION_MANY_CLASS$2 = (AGGREGATION_MANY_CLASS *)a$CLASS_NAME.AGGREGATION_MANY_NAME.GetNext(pos2);
- next$AGGREGATION_MANY_CLASS = next$AGGREGATION_MANY_CLASS$2;
- }
- ]
- [
- pos = ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS;
- pos2 = a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS$2;
- while(pos)
- {
- next$ASSOCIATION_MANY_CLASS = (ASSOCIATION_MANY_CLASS *)ASSOCIATION_MANY_NAME.GetNext(pos);
- next$ASSOCIATION_MANY_CLASS$2 = (ASSOCIATION_MANY_CLASS *)a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetNext(pos2);
- next$ASSOCIATION_MANY_CLASS = next$ASSOCIATION_MANY_CLASS$2;
- }
-
- ]
- return *this;
- }
-
- //Operator== Equality Operator
- //Update for 1:M association object data members
- BOOL CLASS_NAME::operator== (const CLASS_NAME$& a$CLASS_NAME) const
- {
- BOOL bTest1;
- BOOL bTest2 = TRUE;
- bTest1 = [ (BASE_CLASS$::operator== (a$CLASS_NAME)) &&]
- //Equality check for 1:1 aggregation part data members
- [ (AGGREGATION_ONE_NAME == a$CLASS_NAME$.$AGGREGATION_ONE_NAME) &&]
- //Equality check for 1:M aggregation parts
- //Update for the correct number of aggregation part objects
- SELECT_WHEN ATTRIBUTE_IS_NORMAL
- [ (ATTRIBUTE_NAME == a$CLASS_NAME$.ATTRIBUTE_NAME) &DELETE_LAST_SYMBOL&DELETE_LAST_SYMBOL];
-
-
- [
- POSITION pos = AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS;
- POSITION pos2 = a$CLASS_NAME.AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS$2;
- while(pos)
- {
- next$AGGREGATION_MANY_CLASS = (AGGREGATION_MANY_CLASS *)AGGREGATION_MANY_NAME.GetNext(pos);
- next$AGGREGATION_MANY_CLASS$2 = (AGGREGATION_MANY_CLASS *)a$CLASS_NAME.AGGREGATION_MANY_NAME.GetNext(pos2);
- bTest2 &= (next$AGGREGATION_MANY_CLASS == next$AGGREGATION_MANY_CLASS$2);
- }
- ]
- [
- pos = ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS;
- pos2 = a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS$2;
- while(pos)
- {
- next$ASSOCIATION_MANY_CLASS = (ASSOCIATION_MANY_CLASS *)ASSOCIATION_MANY_NAME.GetNext(pos);
- next$ASSOCIATION_MANY_CLASS$2 = (ASSOCIATION_MANY_CLASS *)a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetNext(pos2);
- bTest2 &= (next$ASSOCIATION_MANY_CLASS == next$ASSOCIATION_MANY_CLASS$2);
- }
- ]
-
-
- return (bTest1 && bTest2);
- }
-
- //Operator<< extraction for cout
- ostream& operator<< (ostream& os, CLASS_NAME$& a$CLASS_NAME)
- { int i = 0;
- [ os << (BASE_CLASS &) a$CLASS_NAME;]
- os << "Object Attribute Values - Class CLASS_NAME" << endl;
- SELECT_WHEN ATTRIBUTE_IS_NORMAL
- [ os << "ATTRIBUTE_NAME: " << a$CLASS_NAME$.$ATTRIBUTE_NAME << endl;]
- SELECT_WHEN ATTRIBUTE_IS_STATIC
- [ os << "ATTRIBUTE_NAME: " << a$CLASS_NAME$.$ATTRIBUTE_NAME << endl;]
- [ os << " AGGREGATION_ONE_NAME$: " << a$CLASS_NAME$.$AGGREGATION_ONE_NAME << endl;]
-
- [
- POSITION pos = a$CLASS_NAME.AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS;
- while(pos)
- {
- next$AGGREGATION_MANY_CLASS = (AGGREGATION_MANY_CLASS *)a$CLASS_NAME.AGGREGATION_MANY_NAME.GetNext(pos);
- os << *next$AGGREGATION_MANY_CLASS;
- }
- ]
- [
- pos = a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS;
- while(pos)
- {
- next$ASSOCIATION_MANY_CLASS = (ASSOCIATION_MANY_CLASS *)a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetNext(pos);
- if (next$ASSOCIATION_MANY_CLASS != NULL)
- os << next$ASSOCIATION_MANY_CLASS;
- }
-
- ]
-
- return os;
- }
-
- //Operator>> insertion for cin
- istream& operator>> (istream& is, CLASS_NAME$& a$CLASS_NAME)
- { int i = 0;
- [ is >> (BASE_CLASS &) a$CLASS_NAME;]
- cout << "\nEnter Object Attribute Values or 0 - Class CLASS_NAME";
- SELECT_WHEN ATTRIBUTE_IS_NORMAL
- [ cout << "\nEnter ATTRIBUTE_NAME : " << endl;
- is >> a$CLASS_NAME$.$ATTRIBUTE_NAME;]
- [ is >> a$CLASS_NAME$.$AGGREGATION_ONE_NAME;]
- [ if (a$CLASS_NAME$.$ASSOCIATION_ONE_NAME != 0) is >> *$a$CLASS_NAME$.$ASSOCIATION_ONE_NAME ; ]
- [
- POSITION pos = a$CLASS_NAME.AGGREGATION_MANY_NAME.GetHeadPosition();
- AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS;
- while(pos)
- {
- next$AGGREGATION_MANY_CLASS = (AGGREGATION_MANY_CLASS *)a$CLASS_NAME.AGGREGATION_MANY_NAME.GetNext(pos);
- is >> *next$AGGREGATION_MANY_CLASS;
- }
- ]
- [
- pos = a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetHeadPosition();
- ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS;
- while(pos)
- {
- next$ASSOCIATION_MANY_CLASS = (ASSOCIATION_MANY_CLASS *)a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetNext(pos);
- if (next$ASSOCIATION_MANY_CLASS != NULL)
- is >> *next$ASSOCIATION_MANY_CLASS;
- }
-
- ]
- return is;
- }
-
-